Electrochromic devices, as used in electrochromic windows and smart windows, typically have an anode and a cathode, one of which is driven by a power supply controlled by a microcontroller or other circuitry. One problem encountered in real-world situations is that if the microcontroller or processor has a software-based failure (or a hardware-based failure), the power supply continues to drive the electrochromic device, which then fails. This can cascade and cause power transistors to fail, circuit boards or wiring to fail, or even start a fire. Another problem encountered in real-world situations is that driving the anode or the cathode to a limited voltage or current level for tinting the electrochromic device, and connecting this same terminal to ground or to the opposite terminal for bleaching the electrochromic device, can result in uneven switching times, and also slow switching times. It is within this context that the embodiments arise.